# Python 布尔类型

# 布尔类型（Boolean Type）是一种逻辑类型，只有两个值：True 和 False。
# 布尔类型可以用 True 或 False 表示，也可以用 1 或 0 表示。
# 布尔类型可以进行逻辑运算，包括与（and）、或（or）、非（not）、异或（xor）等。
# 布尔类型可以用在条件语句、循环语句、函数参数、函数返回值等。

print(type(True))  # <class 'bool'>
print(type(False))  # <class 'bool'>

# 布尔类型常用操作符：
# 1. 逻辑运算符：
#    - and：与运算，True 只有在两个都为 True 时才为 True，否则为 False。
#    - or：或运算，True 只要有一个为 True，则为 True，否则为 False。
#    - not：非运算，True 变 False，False 变 True。
#    - xor：异或运算，True 和 False 只有一个为 True，则为 True，否则为 False。
# 2. 比较运算符：
#    - ==：等于，True 只要两个值相等，则为 True，否则为 False。
#    -!=：不等于，True 只要两个值不相等，则为 True，否则为 False。
#    - <：小于，True 只要左边的值小于右边的值，则为 True，否则为 False。
#    - <=：小于等于，True 只要左边的值小于等于右边的值，则为 True，否则为 False。
#    - >：大于，True 只要左边的值大于右边的值，则为 True，否则为 False。
#    - >=：大于等于，True 只要左边的值大于等于右边的值，则为 True，否则为 False。
#    - ^：按位异或，True 和 False 只有一个为 True，则为 True，否则为 False。

is_male = True
is_female = False
print(is_male, is_female)  # True False
print(is_male and is_female)  # False
print(is_male or is_female)  # True
print(not is_male)  # False
print(True ^ False)  # True

# 条件语句
age = 20
if age >= 18:
    print("老东西.")
else:
    print("小东西.")

# 循环语句
count = 0
while count < 5:
    print(count)
    count += 1

# 函数参数
def print_bool(value):
    if value:
        print("True")
    else:
        print("False")
print_bool(True)  # True
print_bool(False)  # False

# 函数返回值
def is_true(value):
    return value
print(is_true(True))  # True
print(is_true(False))  # False
